#ifndef QUEUE_H
#define QUEUE_H

#include "../../lib/common.h"

#define MAX_SIZE 5

typedef struct
{
  int *nums;
  int front; // 队首元素的索引 
  int size; 
} Queue;

void *init_queue(void); // 初始化空队列
int get_length(Queue *queue); // 获取队列长度
bool is_empty(Queue *queue); // 判断队列是否为空
void push(Queue *queue, int value); // 入队，在数组末尾追加元素
int peek(Queue *queue); // 访问队首元素的值
int pop(Queue *queue); // 出队，删除队首元素
void print_queue(Queue *queue); // 打印队列
void destory_queue(Queue *queue); // 销毁

#endif